Create a complete, single-file index.html for a "GST Late Fee & Interest Calculator" web tool. It must be fully self-contained (all HTML, CSS, and JavaScript in ONE file, no external libraries except PapaParse via CDN for CSV parsing). It must work perfectly on mobile browsers and be ready to deploy on Netlify Drop with zero editing.
Requirements:

1. Clean, professional, mobile-responsive UI. Header title "GST Late Fee & Interest Calculator", a short subtitle "Batch calculation from CSV — for CA firms". Use a simple modern look (card layout, readable fonts, works on small screens, buttons large enough for touch).
2. Three buttons:

"⬇️ Download Blank Template" — generates and downloads a CSV named GST_Template.csv with exactly these column headers: GSTIN, Client Name, Return Type, Nil Return, Due Date, Filing Date, Tax Liability and one sample row.
"📂 Upload Filled CSV" — a file input that accepts .csv.
"⬇️ Download Results" — downloads the calculated results as GST_Results.csv (enabled only after calculation).


3. On CSV upload, parse it with PapaParse and for EACH row calculate:

Days Delayed = Filing Date − Due Date (in days). If Filing Date ≤ Due Date, days = 0 and everything is 0.
Late Fee: If "Nil Return" is Yes → ₹20 per day; if No → ₹50 per day. Apply a cap of ₹10,000 for normal returns and ₹500 for nil returns (use the lower of calculated fee or cap).
Interest = Tax Liability × 18% × (Days Delayed ÷ 365), rounded to 2 decimals. If Tax Liability is 0 or blank, interest = 0.
Total Payable = Late Fee + Interest.


4. Display results in a responsive table with columns: GSTIN, Client Name, Return Type, Days Delayed, Late Fee (₹), Interest (₹), Total Payable (₹). Format numbers with the Indian ₹ thousands style. Below the table show a Grand Total of Late Fee, Interest, and Total Payable.
5. Date handling: Accept dates in DD-MM-YYYY format. Parse safely; if a date is invalid, show "Invalid Date" for that row instead of crashing.
6. Robustness: Handle empty rows, missing values, and extra spaces gracefully. Never crash on bad input — skip or flag the row.
7. Add a small disclaimer at the bottom: "This tool provides a first-cut working estimate only. Statutory late fees, caps, and interest may vary by period and return type. Verify before filing."
8. Load PapaParse from: https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.4.1/papaparse.min.js

Output ONLY the complete index.html code, ready to save and deploy. No explanation.